% Version control information:
%$HeadURL: http://practicas-r.googlecode.com/svn/trunk/regresion_no_lineal/regresion_no_lineal.tex $
%$LastChangedDate: 2011-12-05 12:41:27 +0000 (Mon, 05 Dec 2011) $
%$LastChangedRevision: 17 $
%$LastChangedBy: asalber $
%$Id: regresion_no_lineal.tex 17 2011-12-05 12:41:27Z asalber $

\chapter{Regresión no lineal}

\section{Fundamentos teóricos}
La regresión simple tiene por objeto la construcción de un modelo
funcional $y=f(x)$ que explique lo mejor posible la relación entre
dos variables $Y$ (variable dependiente) y $X$ (variable
independiente) medidas en una misma muestra.

Ya vimos que, dependiendo de la forma de esta función, existen muchos tipos de regresión simple. Entre los más habituales están:
\begin{center}
\begin{tabular}{|l|c|}
\hline
 Modelo      &     Ecuación genérica      \\
\hline\hline
 Lineal                  &          $y=a+bx$          \\
\hline
 Parabólico              &       $y=a+bx+cx^2$        \\
\hline
 Polinómico de grado $n$ & $y=a_0+a_1x+\cdots+a_nx^n$ \\
\hline
 Potencial               &       $y=ax^b$       \\
\hline
 Exponencial             &     $y=e^{a+bx}$      \\
\hline
 Logarítmico             &       $y=a+b\log x$        \\
\hline
Inverso & $y=a+b/x$ \\
\hline
Curva S & $y= e^{a+b/x}$ \\
\hline
\end{tabular}
\end{center}

La elección de un tipo de modelo u otro suele hacerse según la forma
de la nube de puntos del diagrama de dispersión. A veces estará
claro qué tipo de modelo se debe construir, tal y como ocurre en los
diagramas de dispersión de la figura~\ref{g:tiposrelaciones2}. Pero
otras veces no estará tan claro, y en estas ocasiones, lo normal es
ajustar los dos o tres modelos que nos parezcan más convincentes,
para luego quedarnos con el que mejor explique la relación entre $Y$
y $X$, mirando el coeficiente de determinación\footnote{Ver la
práctica de correlación.} de cada modelo.

\begin{figure}[h!]
\centering 
\subfigure[Sin relación.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_sin_relacion}}}\qquad
\subfigure[Relación lineal.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_relacion_lineal}}}\qquad
\subfigure[Relación polinómica.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_relacion_parabolica}}}\\
\subfigure[Relación exponencial.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_relacion_exponencial}}}\qquad
\subfigure[Relación logarítmica.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_relacion_logaritmica}}}\qquad
\subfigure[Relación inversa.]{\scalebox{0.5}{\input{regresion_lineal_simple/img/diagrama_dispersion_relacion_inversa}}}\\
\caption{Diagramas de dispersión correspondientes a distintos tipos de relaciones
entre variables.} \label{g:tiposrelaciones2}
\end{figure}

Ya vimos en la práctica sobre regresión lineal simple, cómo construir rectas de regresión. En el caso de que optemos por
ajustar un modelo no lineal, la construcción del mismo puede realizarse siguiendo los mismos pasos que en el caso lineal.
Básicamente se trata de determinar los parámetros del modelo que minimizan la suma de los cuadrados de los residuos en
$Y$. En los modelos multiplicativo y exponencial, el sistema aplica transformaciones logarítmicas a las variables y
después ajusta un modelo lineal a los datos transformados. En el modelo recíproco, el sistema sustituye la variable
dependiente por su recíproco antes de estimar la ecuación de regresión.

\clearpage
\newpage

\section{Ejercicios resueltos}
El procedimiento más sencillo para construir un modelo no lineal, siempre que sea posible, es transformar las variables
para convertirlo en un modelo lineal. En el caso de los modelos de regresión simple más comunes las transformaciones que
convierten cada modelo en un modelo lineal aparecen en la tabla siguiente:
\begin{center}
\begin{tabular}{|l|c|c|p{5cm}|}
\hline
 Modelo      &     Modelo no lineal     & Modelo lineal & Transformación  \\
\hline
 Potencial               &       $y=ax^b$       & $\log(y) = \log(a)+b\log(x)$ & Se toma el logaritmo de ambas
 variables\\
\hline
 Exponencial             &     $y=e^{a+bx}$     & $\log(y) = a+bx$ & Se toma el logaritmo de la variable dependiente\\
\hline
 Logarítmico             &       $y=a+b\log x$  &  $y=a+b\log x$ & Se toma el logaritmo de la variable independiente   
 \\
\hline
Inverso & $y=a+b/x$ & $y=a+b\frac{1}{x}$ & Se toma el inverso de la variable independiente \\
\hline
Curva S & $y= e^{a+b/x}$ & $\log(y)=a+b\frac{1}{x}$ & Se toma el logaritmo de la variable dependiente y el inverso de
la independiente\\
\hline
\end{tabular}
\end{center}

\begin{enumerate}[leftmargin=*]
\item En un experimento se ha medido el número de bacterias por unidad de volumen en un cultivo, cada hora transcurrida, obteniendo los siguientes resultados:
\begin{center}
\begin{tabular}{lrrrrrrrrr}
\hline
Horas & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8  \\
Nº Bacterias & 25 & 28 & 47 & 65 & 86 & 121 & 190 & 290 & 362\\
\hline
\end{tabular}
\end{center}

Se pide:
\begin{enumerate}
\item Crear un conjunto de datos con las variables \variable{horas} y \variable{bacterias} e introducir estos datos.

\item Dibujar el diagrama de dispersión correspondiente. En vista del diagrama, ¿qué tipo de modelo crees que explicará
mejor la relación entre el número de bacterias y el tiempo transcurrido? 
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficos\flecha Diagrama de dispersión}.
\item En el cuadro de diálogo que aparece, seleccionar como \campo{variable x} la variable \variable{horas} y
como \campo{variable y} la variable \variable{bacterias}, desmarcar todas las opciones y hacer click en el botón \boton{Aceptar}.\end{enumerate}}
\end{indicacion}

\item Calcular los modelos exponencial y cuadrático de las bacterias sobre las horas. ¿Qué tipo de modelo es el mejor?
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{bacterias} como \campo{Variable explicada}
y la variable \variable{horas} como \campo{Variable explicativa}, marcar la opción \opcion{Exponencial}, introducir un
nombre para el modelo y hacer click sobre el botón \boton{Aceptar}.
\item El modelo de regresión exponencial es $\variable{bacterias}=e^{a+b\variable{horas}}$. Las
estimaciones de los parámetros $a$ y $b$, aparecen en la ventana de resultados en la columna \resultado{Estimated}, el
valor de $a$ corresponde a la fila \resultado{Intercept} y el del $b$ al nombre de la variable independiente, en este caso
\resultado{horas}.
\item El modelo mejor será aquel que tenga un coeficiente de determinación mayor.
\end{enumerate}}
\end{indicacion}

\item Dibujar la curva del mejor de los modelos anteriores.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Gráfica de regresión}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{bacterias} como \campo{Variable explicada}
y la variable \variable{horas} como \campo{Variable explicativa}, marcar la opción \opcion{Exponencial}, introducir un
título para el gráfico y hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Según el modelo anterior, ¿cuántas bacterias habrá al cabo de 3 horas y media del inicio del cultivo? ¿Y al cabo
de 10 horas? ¿Son fiables estas predicciones?
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar en el botón de modelos el modelo con el que hacer predicciones.
\item Seleccionar el menú \menu{Modelos\flecha Predicciones de regresión simple}.
\item En el cuadro de diálogo que aparece introducir los valores para los que se desea la predicción en el campo
\campo{Predicciones para} y hacer click sobre el botón \boton{Aceptar}.
\item Como se trata de un modelo exponencial, las predicciones obtenidas corresponden al logaritmo de bacterias. Para
obtener la predicción de bacterias basta con aplicar la función exponencial a los valores obtenidos.
\end{enumerate}}
\end{indicacion}

\item Dar una predicción lo más fiable posible del tiempo que tendría que transcurrir para que en el cultivo hubiese 100
bacterias.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{horas} como \campo{Variable explicada}
y la variable \variable{bacterias} como \campo{Variable explicativa}, marcar la opción \opcion{Logarítmica}, introducir
un nombre para el modelo y hacer click sobre el botón \boton{Aceptar}.
\item Seleccionar el menú \menu{Modelos\flecha Predicciones de regresión simple}.
\item En el cuadro de diálogo que aparece introducir los valores para los que se desea la predicción en el campo
\campo{Predicciones para} y hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}
\end{enumerate}

\opt{largo}{
\item El fichero \texttt{nations.txt} contiene información sobre el desarrollo de distintos países (tasa de uso de
anticonceptivos (contraception), producto interior bruto per cápita (GDP), tasa de mortalidad infantil
(infant.mortality) y tasa de fertilidad (TFR)). Se pide:
\begin{enumerate}
\item Importar el fichero \texttt{nations.txt} en un conjunto de datos.
\item ¿Entre qué variables existe relación no lineal?
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Matriz de diagramas de dispersión}.
\item En el cuadro de diálogo que aparece seleccionar todas las variables y hacer click sobre el botón \boton{Aceptar}. 
\end{enumerate}}
\end{indicacion}

\item Construir el mejor modelo de regresión de la tasa de mortalidad infantil sobre el producto interior bruto. ¿Cómo
explicarías esta relación?
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{infant.mortality} como \campo{Variable
explicada} y la variable \variable{GDP} como \campo{Variable explicativa}, marcar el modelo, introducir un
nombre para el modelo y hacer click sobre el botón \boton{Aceptar}.
\item Repetir lo mismo para cada tipo de modelo. El modelo mejor será aquel que tenga un coeficiente de determinación mayor.
\end{enumerate}}
\end{indicacion}

\item Dibujar el modelo del apartado anterior.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Gráfica de regresión}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{infant.mortality} como \campo{Variable explicada}
y la variable \variable{GDP} como \campo{Variable explicativa}, marcar la opción correspondiente al mejor modelo,
introducir un título para el gráfico y hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}
\end{enumerate}
}

\item El fichero \texttt{dieta.txt} contiene los datos de un estudio llevado a cabo por un centro dietético para
probar una nueva dieta de adelgazamiento. Para cada individuo se ha medido el número de días que lleva con la dieta, 
el número de kilos perdidos desde entonces y si realizó o no un programa de ejercicios. Se pide:
\begin{enumerate}
\item Importar el fichero \texttt{dieta.txt} en un conjunto de datos.

\item Dibujar el diagrama de dispersión. Según la nube de puntos, ¿qué tipo de modelo explicaría mejor la relación
entre los kilos perdidos y los días de dieta?
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficos\flecha Diagrama de dispersión}.
\item En el cuadro de diálogo que aparece, seleccionar como \campo{variable x} la variable \variable{dias} y
como \campo{variable y} la variable \variable{kilos}, desmarcar todas las opciones y hacer click en el botón
\boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Construir el modelo de regresión que mejor explique la relación entre los kilos perdidos y los días de dieta.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar el modelo, introducir un
nombre para el modelo y hacer click sobre el botón \boton{Aceptar}.
\item Repetir lo mismo para cada tipo de modelo. El modelo mejor será aquel que tenga un coeficiente de determinación mayor.
\end{enumerate}}
\end{indicacion}

\item Dibujar el modelo del apartado anterior.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Gráfica de regresión}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar la opción \opcion{scurve}, introducir un
título para el gráfico y hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Dibujar el diagrama de dispersión distinguiendo los que hacen ejercicio de los que no.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficos\flecha Diagrama de dispersión}.
\item En el cuadro de diálogo que aparece, seleccionar como \campo{variable x} la variable \variable{dias} y
como \campo{variable y} la variable \variable{kilos}, desmarcar todas las opciones y hacer click en el botón
\boton{Gráfica por grupos}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{ejercicio} y hacer click en el botón
\boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Construir el modelo de regresión curva S que mejor explique la relación entre los kilos perdidos y los días de dieta para
los que no hacen ejercicio.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar el modelo \opcion{Curva S}, introducir un
nombre para el modelo, introducir la condición \lstinline{ejercicio=="no"} en el campo \campo{Expresión de selección} y
hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Dibujar el modelo del apartado anterior.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Gráfica de regresión}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar el modelo \opcion{Curva S}, introducir un
título para el gráfico, introducir la condición \lstinline{ejercicio=="no"} en el campo \campo{Expresión de selección} y hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Construir el modelo de regresión inverso que mejor explique la relación entre los kilos perdidos y los días de dieta para
los que si hacen ejercicio.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Estadísticos\flecha Ajustes de modelos\flecha Regresión no lineal}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar el modelo \opcion{Inverso}, introducir un
nombre para el modelo, introducir la condición \lstinline{ejercicio=="si"} en el campo \campo{Expresión de selección} y
hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Dibujar el modelo del apartado anterior.
\begin{indicacion}{
\begin{enumerate}
\item Seleccionar el menú \menu{Gráficas\flecha Gráfica de regresión}.
\item En el cuadro de diálogo que aparece, seleccionar la variable \variable{kilos} como \campo{Variable explicada}
y la variable \variable{dias} como \campo{Variable explicativa}, marcar el modelo \opcion{Inverso}, introducir un
título para el gráfico, introducir la condición \lstinline{ejercicio=="si"} en el campo \campo{Expresión de selección} y
hacer click sobre el botón \boton{Aceptar}.
\end{enumerate}}
\end{indicacion}

\item Utilizar el modelo construido para predecir el número de kilos perdidos tras 40 y 500 días de dieta, tanto para
los que hacen ejercicio como para los que no. ¿Son fiables estas predicciones?
\begin{indicacion}{
\begin{enumerate}
\item Hacer click en el botón de modelos y seleccionar el mejor de los modelos para los que no hacen ejercicio.
\item Seleccionar el menú \menu{Modelos\flecha Predicciones de regresión simple}.
\item En el cuadro de diálogo que aparece introducir los valores para los que se desea la predicción en el campo
\campo{Predicciones para} y hacer click sobre el botón \boton{Aceptar}.
\item Como se trata de un modelo de curva S, las predicciones obtenidas corresponden al logaritmo de los kilos. Para
obtener la predicción de los kilos basta con aplicar la función exponencial a los valores obtenidos.
\item Repetir los pasos anteriores seleccionando el mejor de los modelos para los que si hacen ejercicio.
\end{enumerate}}
\end{indicacion}
\end{enumerate}

\end{enumerate}


\section{Ejercicios propuestos}
\begin{enumerate}[leftmargin=*]
\item La concentración de un fármaco en sangre, $C$ en mg/dl, es función del tiempo, $t$ en horas, y viene dada por la
siguiente tabla: 
\[
\begin{array}{|l|r|r|r|r|r|r|r|}
\hline
\text{t} & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
\text{C} & 25 & 36 & 48 & 64 & 86 & 114 & 168\\
\hline
\end{array}
\]
Se pide: 
\begin{enumerate}
\item Según el modelo exponencial, ¿qué concentración de fármaco habría a las $4.8$ horas? ¿Es fiable la predicción?
Justificar adecuadamente la respuesta.
\item Según el modelo logarítmico, ¿qué tiempo debe pasar para que la concentración sea de 100 mg/dl?
\end{enumerate}

\item El fichero \texttt{nations.txt} contiene información sobre el desarrollo de distintos países (tasa de uso de
anticonceptivos (contraception), producto interior bruto per cápita (GDP), tasa de mortalidad infantil
(infant.mortality) y tasa de fertilidad (TFR)). Se pide:
\begin{enumerate}
\item Importar el fichero \texttt{nations.txt} en un conjunto de datos.
\item Construir el mejor modelo de regresión de la tasa de fertilidad sobre el producto interior bruto. ¿Cómo
explicarías esta relación?
\item Dibujar el modelo del apartado anterior.
\item ¿Qué tasa de fertilidad le corresponde a una mujer que viva en un país con un producto interior bruto per cápita
de 10000 \$? ¿Y si la mujer vive en Europa?
\end{enumerate}

\end{enumerate}